<!DOCTYPE html>
<html>
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <title>全栈开发理解</title>
  <link rel="icon" type="image/png" href="../think/assets/ant.png">
  <link href="../styles.css" rel="stylesheet">
  <link href="../vs.css" rel="stylesheet">
  <!-- Global site tag (gtag.js) - Google Analytics -->
  <script async src="https://www.googletagmanager.com/gtag/js?id=UA-131906119-1"></script>
  <script>
    window.dataLayer = window.dataLayer || [];
    function gtag(){dataLayer.push(arguments);}
    gtag('js', new Date());

    gtag('config', 'UA-131906119-1');
  </script>
  <script async src="../index.js"></script>
</head>
<body>
<h1>全栈开发理解</h1>
<p>这里说的全栈开发，指网站前后端开发。有了NodeJS，前端开发者省去了学习一门新语言的精力，直接使用JS去开发后端。目前我的观察，有两种纯粹的全栈开发方式。</p>
<p>一种是后台只提供静态服务和API（只提供JSON格式的数据）。浏览器访问一个网址时，得到的是一个后台的文件（HTML）。页面中再通过各种Ajax请求得到所需的数据，即所谓的单页应用。最典型的框架就是AngularJS了。</p>
<p>另一种是后台只提供后台渲染好的页面，页面中只有超链接，没有类似Ajax的请求。这时后台一般会有一个模板引擎，通过与数据结合将各个模板填充返回给浏览器。</p>
<p>两种方式各有优缺点。第一种把太多东西丢给浏览器进行处理了，但是后台可以做的很简洁通用，前端部分也相对独立，不需要涉及其他后台语言。第二种则只是把浏览器作为一个展示信息的应用，后台需要处理所有的东西，还需要一个模板引擎。</p>


</body>
</html>
